library(readr)
library(ggplot2)
package 㤼㸱ggplot2㤼㸲 was built under R version 4.0.2
cars <- read_csv("cars_sample.csv")
Missing column names filled in: 'X1' [1]Parsed with column specification:
cols(
  X1 = col_double(),
  Car = col_character(),
  Manufacturer = col_character(),
  MPG = col_double(),
  Cylinders = col_double(),
  Displacement = col_double(),
  Horsepower = col_double(),
  Weight = col_double(),
  Acceleration = col_double(),
  Model.Year = col_double(),
  Origin = col_character()
)
cars_scatterplot = ggplot(cars, aes(x=Weight, y=MPG)) +
  geom_point(aes(size=Weight, color=Manufacturer, alpha=.5)) + 
  labs(title="Cars Weight vs MPG", x='Weight (lbs)')
cars_scatterplot

library(plotly)
p <- plot_ly(cars, x = ~Weight, y = ~MPG, color = ~Manufacturer, size=~Weight, alpha=.5)
p
No trace type specified:
  Based on info supplied, a 'scatter' trace seems appropriate.
  Read more about this trace type -> https://plotly.com/r/reference/#scatter
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
Ignoring 2 observations`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.No trace type specified:
  Based on info supplied, a 'scatter' trace seems appropriate.
  Read more about this trace type -> https://plotly.com/r/reference/#scatter
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
Ignoring 2 observations`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.`line.width` does not currently support multiple values.
library(shiny)
library(ggplot2)
library(plotly)

ui <- fluidPage(
  headerPanel('Data Vis Project'),
  sidebarPanel(
    varSelectInput(
      inputId = "x",
      label = "X axis Variable",
      data = cars,
      selected = 'Weight'
    ),
    varSelectInput(
      inputId = "y",
      label = "Y axis Variable",
      data = cars,
      selected = "MPG"
    ),
    varSelectInput(
      inputId = "w",
      label = "Point Size Variable",
      data = cars,
      selected = "Weight"
    )
  ),
  mainPanel(
  # numericInput(inputId = 'a',
  #              label = "Input an alpha value (opacity) between 0 and 1:",
  #              value = .5),
  plotlyOutput(outputId = "chart")
  )
)

server <- function(input, output) {
  output$chart <- renderPlotly({
    colx <- sym(input$x)
    coly <- sym(input$y)
    colw <- sym(input$w)
    # cola <- num(/input$a)
    p <-
      ggplot(cars,
             aes(
               x = !!colx,
               y = !!coly,
               size = !!colw,
               color = Manufacturer,
               alpha = .5
             )) +
      geom_point() +
      labs(title = "Cars Scatterplot")
    ggplotly(p)
  })
}

shinyApp(ui,server)

Listening on http://127.0.0.1:5294
Error in rbind.data.frame(..., stringsAsFactors = FALSE) : 
  numbers of columns of arguments do not match
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCmBgYHtyfQ0KbGlicmFyeShyZWFkcikNCmxpYnJhcnkoZ2dwbG90MikNCmNhcnMgPC0gcmVhZF9jc3YoImNhcnNfc2FtcGxlLmNzdiIpDQoNCmNhcnNfc2NhdHRlcnBsb3QgPSBnZ3Bsb3QoY2FycywgYWVzKHg9V2VpZ2h0LCB5PU1QRykpICsNCiAgZ2VvbV9wb2ludChhZXMoc2l6ZT1XZWlnaHQsIGNvbG9yPU1hbnVmYWN0dXJlciwgYWxwaGE9LjUpKSArIA0KICBsYWJzKHRpdGxlPSJDYXJzIFdlaWdodCB2cyBNUEciLCB4PSdXZWlnaHQgKGxicyknKQ0KY2Fyc19zY2F0dGVycGxvdA0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShwbG90bHkpDQpwIDwtIHBsb3RfbHkoY2FycywgeCA9IH5XZWlnaHQsIHkgPSB+TVBHLCBjb2xvciA9IH5NYW51ZmFjdHVyZXIsIHNpemU9fldlaWdodCwgYWxwaGE9LjUpDQpwDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHNoaW55KQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShwbG90bHkpDQoNCnVpIDwtIGZsdWlkUGFnZSgNCiAgaGVhZGVyUGFuZWwoJ0RhdGEgVmlzIFByb2plY3QnKSwNCiAgc2lkZWJhclBhbmVsKA0KICAgIHZhclNlbGVjdElucHV0KA0KICAgICAgaW5wdXRJZCA9ICJ4IiwNCiAgICAgIGxhYmVsID0gIlggYXhpcyBWYXJpYWJsZSIsDQogICAgICBkYXRhID0gY2FycywNCiAgICAgIHNlbGVjdGVkID0gJ1dlaWdodCcNCiAgICApLA0KICAgIHZhclNlbGVjdElucHV0KA0KICAgICAgaW5wdXRJZCA9ICJ5IiwNCiAgICAgIGxhYmVsID0gIlkgYXhpcyBWYXJpYWJsZSIsDQogICAgICBkYXRhID0gY2FycywNCiAgICAgIHNlbGVjdGVkID0gIk1QRyINCiAgICApLA0KICAgIHZhclNlbGVjdElucHV0KA0KICAgICAgaW5wdXRJZCA9ICJ3IiwNCiAgICAgIGxhYmVsID0gIlBvaW50IFNpemUgVmFyaWFibGUiLA0KICAgICAgZGF0YSA9IGNhcnMsDQogICAgICBzZWxlY3RlZCA9ICJXZWlnaHQiDQogICAgKQ0KICApLA0KICBtYWluUGFuZWwoDQogICMgbnVtZXJpY0lucHV0KGlucHV0SWQgPSAnYScsDQogICMgICAgICAgICAgICAgIGxhYmVsID0gIklucHV0IGFuIGFscGhhIHZhbHVlIChvcGFjaXR5KSBiZXR3ZWVuIDAgYW5kIDE6IiwNCiAgIyAgICAgICAgICAgICAgdmFsdWUgPSAuNSksDQogIHBsb3RseU91dHB1dChvdXRwdXRJZCA9ICJjaGFydCIpDQogICkNCikNCg0Kc2VydmVyIDwtIGZ1bmN0aW9uKGlucHV0LCBvdXRwdXQpIHsNCiAgb3V0cHV0JGNoYXJ0IDwtIHJlbmRlclBsb3RseSh7DQogICAgY29seCA8LSBzeW0oaW5wdXQkeCkNCiAgICBjb2x5IDwtIHN5bShpbnB1dCR5KQ0KICAgIGNvbHcgPC0gc3ltKGlucHV0JHcpDQogICAgIyBjb2xhIDwtIG51bSgvaW5wdXQkYSkNCiAgICBwIDwtDQogICAgICBnZ3Bsb3QoY2FycywNCiAgICAgICAgICAgICBhZXMoDQogICAgICAgICAgICAgICB4ID0gISFjb2x4LA0KICAgICAgICAgICAgICAgeSA9ICEhY29seSwNCiAgICAgICAgICAgICAgIHNpemUgPSAhIWNvbHcsDQogICAgICAgICAgICAgICBjb2xvciA9IE1hbnVmYWN0dXJlciwNCiAgICAgICAgICAgICAgIGFscGhhID0gLjUNCiAgICAgICAgICAgICApKSArDQogICAgICBnZW9tX3BvaW50KCkgKw0KICAgICAgbGFicyh0aXRsZSA9ICJDYXJzIFNjYXR0ZXJwbG90IikNCiAgICBnZ3Bsb3RseShwKQ0KICB9KQ0KfQ0KDQpzaGlueUFwcCh1aSxzZXJ2ZXIpDQoNCmBgYA0K